home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 001 / wwiv.arc / INIT.PAS < prev    next >
Pascal/Delphi Source File  |  1986-04-03  |  5KB  |  165 lines

  1. program init;
  2. {$V-} {$C-}
  3.  
  4.                       {*****************************}
  5.                       {Copyright (c) 1986 Wayne Bell}
  6.                       {*****************************}
  7.  
  8.  
  9. {$I COMMON.PAS}
  10.  
  11. var x:file of str;
  12.     vdata:file of vdatar;
  13.     vd:vdatar;
  14.     ulf:file of ulrec;
  15.     fx:ulrec;
  16.     fi:text;
  17.     ns:pnr; fil:file of pnr;
  18.     boards1:boardrec;
  19.     slf1:file of slr;
  20.  
  21. function exist(fn:str):boolean;
  22. var f:file;
  23. begin
  24.   assign(f,fn);
  25.   {$I-} reset(f); {$I+}
  26.   exist:=(ioresult=0);
  27.   close(f);
  28. end;
  29.  
  30. procedure move(s:str);
  31. var s1,i:str; f,f1:text;
  32. begin
  33.   if not exist(s) then writeln('"',s,'" isn''t here.') else begin
  34.     writeln('  Moving '+s);
  35.     assign(f,s); s1:='gfiles\'+s; assign(f1,s1);
  36.     reset(f); rewrite(f1);
  37.     while not eof(f) do begin
  38.       readln(f,i); writeln(f1,i);
  39.     end;
  40.     close(f1); close(f);
  41.     erase(f);
  42.   end;
  43. end;
  44.  
  45. procedure make(s:str);
  46. var f:text;
  47. begin
  48.   if not exist('gfiles\'+s) then begin
  49.     writeln('  Creating: ',s);
  50.     assign(f,'gfiles\'+s);
  51.     rewrite(f);
  52.     writeln(f,'This is "'+s+'"');
  53.     close(f);
  54.   end;
  55. end;
  56.  
  57. procedure make1(s:str);
  58. var f:text;
  59. begin
  60.   if not exist('gfiles\'+s) then begin
  61.     writeln('  Creating: ',s);
  62.     assign(f,'gfiles\'+s);
  63.     rewrite(f);
  64.     writeln(f);
  65.     close(f);
  66.   end;
  67. end;
  68.  
  69. begin
  70.   clrscr;
  71.   if exist('gfiles\user.lst') then writeln('Already installed') else begin
  72.     writeln('WWIV v3.11 Initialization Program.');
  73.     writeln('Now beginning initialization.');
  74.     writeln('  Creating directories..');
  75.     mkdir('gfiles'); mkdir('msgs'); mkdir('dloads');
  76.     writeln('  Creating user files..');
  77.     assign(uf,'gfiles\user.lst'); assign(sf,'gfiles\names.lst');
  78.     assign(systatf,'gfiles\status');
  79.     rewrite(uf); write(uf,user);close(uf); rewrite(sf);
  80.     sr.number:=0; sr.name:='';
  81.     write(sf,sr);write(sf,sr);close(sf); rewrite(systatf);
  82.     with systat do begin boardpw:=''; sysoppw:='SYSOP';
  83.       hmsg.number:=-32767; hmsg.ltr:='A'; hmsg.ext:=1; users:=0;
  84.       lastdate:=''; callernum:=0; activetoday:=0; callstoday:=0; msgposttoday:=0;
  85.       emailtoday:=0; fbacktoday:=0; uptoday:=0; closedsystem:=false;
  86.     end;
  87.     write(systatf,systat); close(systatf);
  88.     make('WELCOME.MSG');
  89.     make('LOGON.MSG');
  90.     make('LOGOFF.MSG');
  91.     make('SYSTEM.MSG');
  92.     make('NEWUSER.MSG');
  93.     make1('USER.LOG');
  94.     make1('SYSOP.LOG');
  95.     make1('YSYSOP.LOG');
  96.     make1('BBSLIST.MSG');
  97.     make1('NONEWUSR.MSG');
  98.     writeln('  Creating board files..');
  99.     assign(bf,'gfiles\boards.dat');
  100.     with boards1 do begin
  101.       name:='General';
  102.       filename:='board1';
  103.       sl:=10;
  104.       maxmsgs:=50;
  105.       pw:='';
  106.       anonymous:=no;
  107.       ar:='@';
  108.       key:=' ';
  109.     end;
  110.     rewrite(bf); write(bf,boards1); close(bf);
  111.     assign(ulf,'gfiles\uploads.dat'); rewrite(ulf);
  112.     fx.name:='Sysop'; fx.dsl:=100; fx.filename:='ubsysop'; fx.maxfiles:=50; fx.password:='';
  113.     write(ulf,fx);
  114.     fx.name:='Miscellaneous'; fx.dsl:=0; fx.filename:='ub1'; fx.maxfiles:=50; fx.password:='';
  115.     write(ulf,fx);
  116.     close(ulf);
  117.     assign(x,'gfiles\laston.fil'); rewrite(x);
  118.     i:='';
  119.     for t:=1 to 8 do write(x,i);
  120.     close(x);
  121.     assign(vdata,'gfiles\voting.dat');
  122.     rewrite(vdata);
  123.     vd.question:='<< NO QUESTION >>'; vd.numa:=0;
  124.     for t:=1 to 9 do write(vdata,vd);
  125.     close(vdata);
  126.     assign(mailfile,'gfiles\email.dat');
  127.     rewrite(mailfile);
  128.     close(mailfile);
  129.     assign(fi,'gfiles\trashcan.txt');
  130.     rewrite(fi); i:='FUCK'; writeln(fi,i); i:='SID VICIOUS'; writeln(fi,i);
  131.     i:='SYSOP'; writeln(fi,i); i:='JEFF THE RIPPER'; writeln(fi,i);
  132.     close(fi);
  133.     move('mainmenu.msg'); move('sysopmnu.msg');
  134.     move('dlmenu.msg'); move('dosmnu.msg'); move('help.msg');
  135.     if not exist('seclev.dat') then writeln('"seclev.dat" is missing.') else begin
  136.       writeln('  Moving seclev.dat');
  137.       assign(slf,'seclev.dat'); assign(slf1,'gfiles\seclev.dat');
  138.       reset(slf); rewrite(slf1);
  139.       for fw:=0 to 255 do begin read(slf,seclev[fw]); write(slf1,seclev[fw]); end;
  140.       close(slf1);
  141.       close(slf);
  142.       erase(slf);
  143.     end;
  144.     assign(fil,'gfiles\numbers.trm');
  145.     {$I-} reset(fil); {$I+}
  146.     if ioresult<>0 then begin
  147.       rewrite(fil);
  148.       ns.name:='========================================';
  149.       ns.number:='- --- --- ----';
  150.       ns.hs:=1;
  151.       for fw:=1 to 9 do write(fil,ns);
  152.     end; close(fil);
  153.     writeln('WWIV v3.11 initialization complete.');
  154.     writeln; writeln;
  155.     writeln('Thank you for using WWIV software.  A $25 donation is requested for using');
  156.     writeln('this software.  Please address any correspondences to:');
  157.     writeln;
  158.     writeln('             Wayne Bell');
  159.     writeln('             Box 636');
  160.     writeln('             904 Silver Spur Road');
  161.     writeln('             Rolling Hills Estates, CA  90274');
  162.   end;
  163. end.
  164.  
  165.